perm filename NEXSUB.LSP[F76,JMC] blob sn#239647 filedate 1976-10-05 generic text, type T, neo UTF8

(DEFPROP ALLFNS
 (NIL SAVE A A1)
VALUE)

(DEFPROP SAVE
 (LAMBDA NIL (DSKOUT (NEXSUB . LSP) ALLFNS))
EXPR)

(DEFPROP A
 (LAMBDA(N K)
  (COND	((EQUAL K 0) (QUOTE (NIL)))
	((OR (LESSP N 0) (GREATERP K N)) NIL)
	(T
	 (APPEND (A (SUB1 N) K)
		 (MAPCAR (FUNCTION (LAMBDA (U) (CONS N (CONS (SUB1 N) U))))
			 (A (DIFFERENCE N 2) (DIFFERENCE K 2)))
		 (MAPCAR (FUNCTION (LAMBDA (U) (CONS N U))) (A (DIFFERENCE N 2) (SUB1 K)))))))
EXPR)

(DEFPROP A1
 (LAMBDA(PRE N K L)
  (COND	((EQUAL K 0) (CONS (REVERSE PRE) L))
	((OR (LESSP N 0) (GREATERP K N)) L)
	(T
	 (A1 PRE
	     (SUB1 N)
	     K
	     (A1 (CONS (SUB1 N) (CONS N PRE))
		 (DIFFERENCE N 2)
		 (DIFFERENCE K 2)
		 (A1 (CONS N PRE) (DIFFERENCE N 2) (SUB1 K) L))))))
EXPR)